<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	 
	 <meta name="description" content="XDMF parallel partitioned mesh I/O on top of HDF5">
    
    <meta name="author" content="Víctor Sande Veiga" >
    <link rel="icon" href="../favicon.png">

    <title>ch_unstructured_hexahedron_perf.f90 &ndash; XH5For</title>

    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link href="../css/pygments.css" rel="stylesheet">
    <link href="../css/font-awesome.min.css" rel="stylesheet">
    <link href="../css/local.css" rel="stylesheet">
    

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    
    <script src="../js/jquery-2.1.3.min.js"></script>
    <script src="../js/svg-pan-zoom.min.js"></script>

  </head>

  <body>

    <!-- Fixed navbar -->
    <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="../index.html">XH5For </a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
				
            <li class="dropdown hidden-xs visible-sm visible-md hidden-lg">
              <a href="#" class="dropdown-toggle"
              data-toggle="dropdown" role="button"
              aria-haspopup="true"
		 aria-expanded="false">Contents <span class="caret"></span></a>
	      <ul class="dropdown-menu">
              
            <li><a href="../lists/files.html">Source Files</a></li>
				
				
            <li><a href="../lists/modules.html">Modules</a></li>
				
            
                                
            <li><a href="../lists/procedures.html">Procedures</a></li>
				
								
            <li><a href="../lists/types.html">Derived Types</a></li>
				
				
            <li><a href="../lists/programs.html">Programs</a></li>
				
            </ul>
            </li>

<li class="visible-xs hidden-sm visible-lg"><a href="../lists/files.html">Source Files</a></li>


<li class="visible-xs hidden-sm visible-lg"><a href="../lists/modules.html">Modules</a></li>



<li class="visible-xs hidden-sm visible-lg"><a href="../lists/procedures.html">Procedures</a></li>

                             
<li class="visible-xs hidden-sm visible-lg"><a href="../lists/types.html">Derived Types</a></li>


<li class="visible-xs hidden-sm visible-lg"><a href="../lists/programs.html">Programs</a></li>

          </ul>
        
        <form action="../search.html" class="navbar-form navbar-right" role="search">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search" name="q" id="tipue_search_input" autocomplete="off" required>
        </div>
<!--
        <button type="submit" class="btn btn-default">Submit</button>
-->
        </form>
        
        </div><!--/.nav-collapse -->
      </div>
    </nav>

    <div class="container">
    
  
  <div class="row">
    <h1>ch_unstructured_hexahedron_perf.f90
    <small>Source File</small>
    
    </h1>
    
<div class="row">
  <div class="col-lg-12">
<div class="well well-sm">
  <ul class="list-inline" style="margin-bottom:0px;display:inline">
     
     
     
     
    
    
     <li><i class="fa fa-list-ol"></i>
       <a data-toggle="tooltip"
	  data-placement="bottom" data-html="true"
	  title=" 0.8% of total for source files.">106 statements</a>
     </li> 
     
     
    <li><i class="fa fa-code"></i><a href="../src/ch_unstructured_hexahedron_perf.f90"> Source File</a></li>
     
  </ul>
  <ol class="breadcrumb in-well text-right">
  
     <li class="active">ch_unstructured_hexahedron_perf.f90</li>
  </ol>
</div>
</div>
</div>
<script>
  $(function () {
  $('[data-toggle="tooltip"]').tooltip()
  })
</script>

  </div>
  <div class="row">
    <div class="col-md-3 hidden-xs hidden-sm visible-md visible-lg">
    
<div id="sidebar">
  





<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#progs-0">Programs</a></h3></div>
  <div id="progs-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html">ch_unstructured_hexahedron</a>
      
    </div>
  </div>
</div>
















<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../sourcefile/ch_unstructured_hexahedron_perf.f90.html#src">ch_unstructured_hexahedron_perf.f90</a>
  </div>
</div>


  <hr>
  

<div class="panel panel-default">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allfiles-0">All Source Files</a></h3></div>
  <div id="allfiles-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../sourcefile/ch_unstructured_hexahedron_perf.f90.html">ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/fox_xdmf.f90.html">fox_xdmf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_contiguous_hyperslab_handler.f90.html">hdf5_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_dataset_per_process_handler.f90.html">hdf5_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_handler.f90.html">hdf5_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_contiguous_hyperslab_handler.f90.html">hdf5_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_dataset_per_process_handler.f90.html">hdf5_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_contiguous_hyperslab_handler.f90.html">hdf5_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_dataset_per_process_handler.f90.html">hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/mpi_environment.f90.html">mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/spatial_grid_descriptor.f90.html">spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler.f90.html">steps_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler_test.f90.html">steps_handler_test.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html">structured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_dataset_per_process_factory.f90.html">structured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_spatial_grid_descriptor.f90.html">structured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_uniform_grid_descriptor.f90.html">structured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_fox_wxml.f90.html">test_FoX_wxml.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90.html">test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_dataset_per_process_handler.f90.html">test_hdf5_rectilinear_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_contiguous_hyperslabs_handler.f90.html">test_hdf5_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_dataset_per_process_handler.f90.html">test_hdf5_regular_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_contiguous_hyperslabs_handler.f90.html">test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_dataset_per_process_handler.f90.html">test_hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_mpi_environment.f90.html">test_mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_attribute.f90.html">test_xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_character_data.f90.html">test_xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_dataitem.f90.html">test_xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_geometry.f90.html">test_xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_grid.f90.html">test_xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90.html">test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_dataset_per_process.f90.html">test_xdmf_rectilinear_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_contiguous_hyperslabs_handler.f90.html">test_xdmf_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_dataset_per_process.f90.html">test_xdmf_regular_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_time.f90.html">test_xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_topology.f90.html">test_xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_contiguous_hyperslabs_handler.f90.html">test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_dataset_per_process.f90.html">test_xdmf_unstructured_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_xinclude.f90.html">test_xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_hdf5_mod.f90.html">try_compile_hdf5_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_mpi_mod.f90.html">try_compile_mpi_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/uniform_grid_descriptor.f90.html">uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_contiguous_hyperslab_factory.f90.html">unstructured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_dataset_per_process_factory.f90.html">unstructured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_spatial_grid_descriptor.f90.html">unstructured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_uniform_grid_descriptor.f90.html">unstructured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_attribute.f90.html">xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_character_data.f90.html">xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_contiguous_hyperslab_handler.f90.html">xdmf_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataitem.f90.html">xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataset_per_process_handler.f90.html">xdmf_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_domain.f90.html">xdmf_domain.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_element.f90.html">xdmf_element.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_file.f90.html">xdmf_file.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_geometry.f90.html">xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_grid.f90.html">xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_handler.f90.html">xdmf_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_information.f90.html">xdmf_information.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_parameters.f90.html">xdmf_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_contiguous_hyperslab_handler.f90.html">xdmf_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_dataset_per_process_handler.f90.html">xdmf_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_time.f90.html">xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_topology.f90.html">xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_contiguous_hyperslab_handler.f90.html">xdmf_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_dataset_per_process_handler.f90.html">xdmf_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_utils.f90.html">xdmf_utils.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_xinclude.f90.html">xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for.f90.html">xh5for.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_abstract_factory.f90.html">xh5for_abstract_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html">xh5for_ch_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html">xh5for_ch_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html">xh5for_ch_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_grid.f90.html">xh5for_ch_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html">xh5for_ch_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html">xh5for_ch_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html">xh5for_ch_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html">xh5for_ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html">xh5for_ch_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html">xh5for_ch_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html">xh5for_ch_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html">xh5for_ch_unstructured_static_mixed_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html">xh5for_ch_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html">xh5for_ch_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html">xh5for_ch_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html">xh5for_dpp_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html">xh5for_dpp_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html">xh5for_dpp_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_grid.f90.html">xh5for_dpp_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html">xh5for_dpp_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html">xh5for_dpp_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html">xh5for_dpp_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html">xh5for_dpp_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html">xh5for_dpp_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html">xh5for_dpp_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html">xh5for_dpp_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html">xh5for_dpp_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html">xh5for_dpp_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_factory.f90.html">xh5for_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_handler.f90.html">xh5for_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_metadata.f90.html">xh5for_metadata.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_parameters.f90.html">xh5for_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_utils.f90.html">xh5for_utils.f90</a>
      
    </div>
  </div>
</div>


</div>  

    </div>
    <div class="col-md-9" id='text'>
    
    
      
      

    <section class="visible-xs visible-sm hidden-md">
      





<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#progs-1">Programs</a></h3></div>
  <div id="progs-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html">ch_unstructured_hexahedron</a>
      
    </div>
  </div>
</div>
















<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../sourcefile/ch_unstructured_hexahedron_perf.f90.html#src">ch_unstructured_hexahedron_perf.f90</a>
  </div>
</div>


    </section>
    <br class="visible-xs visible-sm hidden-md">

    <section>
      <h2><span class="anchor" id="src"></span>Source Code</h2>
    <div class="hl"><pre><a name="ln-1"></a><span class="k">program </span><span class="n">ch_unstructured_hexahedron</span>
<a name="ln-2"></a>
<a name="ln-3"></a><span class="k">use </span><span class="n">PENF</span><span class="p">,</span> <span class="n">only</span><span class="p">:</span> <span class="n">I4P</span><span class="p">,</span> <span class="n">I8P</span><span class="p">,</span> <span class="n">R4P</span><span class="p">,</span> <span class="n">R8P</span><span class="p">,</span> <span class="n">str</span>
<a name="ln-4"></a>
<a name="ln-5"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; defined(MPI_MOD)</span>
<a name="ln-6"></a>  <span class="k">use </span><span class="n">mpi</span>
<a name="ln-7"></a><span class="cp">#endif</span>
<a name="ln-8"></a><span class="cp">#ifdef ENABLE_HDF5</span>
<a name="ln-9"></a>  <span class="k">use </span><span class="n">hdf5</span>
<a name="ln-10"></a><span class="cp">#endif</span>
<a name="ln-11"></a>  <span class="k">implicit none</span>
<a name="ln-12"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; defined(MPI_H)</span>
<a name="ln-13"></a>  <span class="k">include</span> <span class="s1">&#39;mpif.h&#39;</span>
<a name="ln-14"></a><span class="cp">#endif</span>
<a name="ln-15"></a>
<a name="ln-16"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-17"></a>    <span class="c">!&lt; Variable definition</span>
<a name="ln-18"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-19"></a>    <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>        <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">geometry</span><span class="p">(:)</span>
<a name="ln-20"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>     <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">topology</span><span class="p">(:)</span>
<a name="ln-21"></a>    <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>        <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">out_geometry</span><span class="p">(:)</span>
<a name="ln-22"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>     <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">out_topology</span><span class="p">(:)</span>
<a name="ln-23"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                  <span class="kd">::</span> <span class="n">num_elems_per_axis</span> <span class="o">=</span> <span class="mi">1</span>
<a name="ln-24"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                  <span class="kd">::</span> <span class="n">num_nodes</span>
<a name="ln-25"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                  <span class="kd">::</span> <span class="n">num_elements</span>
<a name="ln-26"></a>    <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>             <span class="kd">::</span> <span class="n">arg</span>
<a name="ln-27"></a>
<a name="ln-28"></a>    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">comm</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-29"></a>    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">commsize</span> <span class="o">=</span> <span class="mi">1</span>
<a name="ln-30"></a>    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">info</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-31"></a>    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">root</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-32"></a>    
<a name="ln-33"></a>    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">rank</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-34"></a>    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">mpierr</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-35"></a>    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">exitcode</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-36"></a>    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="p">,</span><span class="n">k</span>
<a name="ln-37"></a>
<a name="ln-38"></a><span class="cp">#ifdef ENABLE_HDF5</span>
<a name="ln-39"></a>    <span class="kt">integer</span>                                                <span class="kd">::</span> <span class="n">hdferror</span>
<a name="ln-40"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">HID_T</span><span class="p">)</span>                                         <span class="kd">::</span> <span class="n">FileID</span>
<a name="ln-41"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">HID_T</span><span class="p">)</span>                                         <span class="kd">::</span> <span class="n">filespace</span>
<a name="ln-42"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">HID_T</span><span class="p">)</span>                                         <span class="kd">::</span> <span class="n">memspace</span>
<a name="ln-43"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">HID_T</span><span class="p">)</span>                                         <span class="kd">::</span> <span class="n">plist_id</span>
<a name="ln-44"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">HID_T</span><span class="p">)</span>                                         <span class="kd">::</span> <span class="n">dset_id</span>
<a name="ln-45"></a><span class="cp">#endif</span>
<a name="ln-46"></a>
<a name="ln-47"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-48"></a>    <span class="c">!&lt; Main program</span>
<a name="ln-49"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-50"></a>
<a name="ln-51"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
<a name="ln-52"></a>    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">bsize</span>
<a name="ln-53"></a>    <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>             <span class="kd">::</span> <span class="n">bsizestr</span>
<a name="ln-54"></a>
<a name="ln-55"></a>    <span class="k">call </span><span class="n">MPI_INIT</span><span class="p">(</span><span class="n">mpierr</span><span class="p">)</span>
<a name="ln-56"></a>    <span class="k">CALL </span><span class="n">MPI_COMM_DUP</span><span class="p">(</span><span class="n">MPI_COMM_WORLD</span><span class="p">,</span> <span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-57"></a>    <span class="k">call </span><span class="n">MPI_Comm_rank</span><span class="p">(</span><span class="n">comm</span><span class="p">,</span> <span class="n">rank</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">);</span>
<a name="ln-58"></a>    <span class="k">call </span><span class="n">MPI_COMM_SIZE</span><span class="p">(</span><span class="n">comm</span><span class="p">,</span> <span class="n">commsize</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-59"></a>    <span class="n">info</span> <span class="o">=</span> <span class="n">MPI_INFO_NULL</span>
<a name="ln-60"></a><span class="cp">#endif</span>
<a name="ln-61"></a>
<a name="ln-62"></a>    <span class="k">if</span><span class="p">(</span><span class="nb">command_argument_count</span><span class="p">()</span><span class="o">==</span><span class="mi">1</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-63"></a><span class="k">        call </span><span class="nb">get_command_argument</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">arg</span><span class="p">)</span>
<a name="ln-64"></a>        <span class="n">arg</span> <span class="o">=</span> <span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">arg</span><span class="p">))</span>
<a name="ln-65"></a>        <span class="k">read</span><span class="p">(</span><span class="n">arg</span><span class="p">,</span><span class="o">*</span><span class="p">)</span>  <span class="n">num_elems_per_axis</span>
<a name="ln-66"></a>    <span class="n">endif</span>
<a name="ln-67"></a>
<a name="ln-68"></a>    <span class="k">call </span><span class="n">generate_hexa_mesh</span><span class="p">(</span><span class="n">rank</span><span class="p">,</span> <span class="n">num_elems_per_axis</span><span class="p">,</span> <span class="n">geometry</span><span class="p">,</span> <span class="n">topology</span><span class="p">,</span> <span class="n">num_nodes</span><span class="p">,</span> <span class="n">num_elements</span><span class="p">)</span>
<a name="ln-69"></a>
<a name="ln-70"></a>    <span class="k">if</span><span class="p">(</span><span class="n">rank</span><span class="o">==</span><span class="mi">0</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-71"></a><span class="k">        write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;(A)&#39;</span><span class="p">)</span> <span class="s1">&#39;===================================================&#39;</span>
<a name="ln-72"></a>        <span class="k">write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;(A)&#39;</span><span class="p">)</span> <span class="s1">&#39;TEST INFO: Fixed size per task&#39;</span>
<a name="ln-73"></a>        <span class="k">write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;(A)&#39;</span><span class="p">)</span> <span class="s1">&#39;TEST INFO: Number of elements: &#39;</span><span class="o">//</span><span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">str</span><span class="p">(</span><span class="n">no_sign</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.,</span> <span class="n">n</span><span class="o">=</span><span class="n">num_elements</span><span class="p">)))</span>
<a name="ln-74"></a>        <span class="k">write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;(A)&#39;</span><span class="p">)</span> <span class="s1">&#39;TEST INFO: Number of nodes: &#39;</span><span class="o">//</span><span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">str</span><span class="p">(</span><span class="n">no_sign</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.,</span> <span class="n">n</span><span class="o">=</span><span class="n">num_nodes</span><span class="p">)))</span>
<a name="ln-75"></a>        <span class="k">write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;(A)&#39;</span><span class="p">)</span> <span class="s1">&#39;===================================================&#39;</span>
<a name="ln-76"></a>    <span class="n">endif</span>
<a name="ln-77"></a>
<a name="ln-78"></a><span class="cp">#ifdef ENABLE_HDF5</span>
<a name="ln-79"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-80"></a>    <span class="c">!&lt; Open HDF5 file</span>
<a name="ln-81"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-82"></a>    <span class="k">call </span><span class="n">H5open_f</span><span class="p">(</span><span class="n">error</span><span class="o">=</span><span class="n">hdferror</span><span class="p">)</span> 
<a name="ln-83"></a>    <span class="k">call </span><span class="n">H5pcreate_f</span><span class="p">(</span><span class="n">H5P_FILE_ACCESS_F</span><span class="p">,</span> <span class="n">prp_id</span><span class="o">=</span><span class="n">plist_id</span><span class="p">,</span> <span class="n">hdferr</span><span class="o">=</span><span class="n">hdferror</span><span class="p">)</span>
<a name="ln-84"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; defined(ENABLE_PARALLEL_HDF5)</span>
<a name="ln-85"></a>    <span class="k">call </span><span class="n">H5pset_fapl_mpio_f</span><span class="p">(</span><span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span> <span class="n">comm</span> <span class="o">=</span> <span class="n">comm</span><span class="p">,</span> <span class="n">info</span> <span class="o">=</span> <span class="n">info</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-86"></a><span class="cp">#endif</span>
<a name="ln-87"></a>    <span class="k">call </span><span class="n">H5fcreate_f</span><span class="p">(</span><span class="n">name</span> <span class="o">=</span> <span class="s1">&#39;ch_unst_hexa.h5&#39;</span><span class="p">,</span>            <span class="p">&amp;</span>
<a name="ln-88"></a>            <span class="n">access_flags</span>  <span class="o">=</span> <span class="n">H5F_ACC_TRUNC_F</span><span class="p">,</span>              <span class="p">&amp;</span>
<a name="ln-89"></a>            <span class="n">File_id</span>       <span class="o">=</span> <span class="n">FileID</span><span class="p">,</span>                       <span class="p">&amp;</span>
<a name="ln-90"></a>            <span class="n">hdferr</span>        <span class="o">=</span> <span class="n">hdferror</span><span class="p">,</span>                     <span class="p">&amp;</span>
<a name="ln-91"></a>            <span class="n">creation_prp</span>  <span class="o">=</span> <span class="n">H5P_DEFAULT_F</span><span class="p">,</span>                <span class="p">&amp;</span>
<a name="ln-92"></a>            <span class="n">access_prp</span>    <span class="o">=</span> <span class="n">plist_id</span><span class="p">)</span>
<a name="ln-93"></a>    <span class="k">call </span><span class="n">h5pclose_f</span><span class="p">(</span><span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-94"></a>
<a name="ln-95"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-96"></a>    <span class="c">!&lt; Write I4P HyperSlab</span>
<a name="ln-97"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-98"></a>    <span class="k">call </span><span class="n">H5Screate_simple_f</span><span class="p">(</span><span class="n">rank</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>                                          <span class="p">&amp;</span>
<a name="ln-99"></a>            <span class="n">dims</span>     <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="nb">int</span><span class="p">(</span><span class="n">commsize</span><span class="p">,</span> <span class="n">I8P</span><span class="p">)</span><span class="o">*</span><span class="n">size</span><span class="p">(</span><span class="n">topology</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
<a name="ln-100"></a>            <span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                                              <span class="p">&amp;</span>
<a name="ln-101"></a>            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-102"></a>    <span class="c">! Create the dataset with default properties.</span>
<a name="ln-103"></a>    <span class="k">call </span><span class="n">H5Pcreate_f</span><span class="p">(</span><span class="n">H5P_DATASET_XFER_F</span><span class="p">,</span> <span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span> <span class="n">hdferr</span><span class="o">=</span><span class="n">hdferror</span><span class="p">)</span> 
<a name="ln-104"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; defined(ENABLE_PARALLEL_HDF5)</span>
<a name="ln-105"></a>    <span class="c">! Set MPIO data transfer mode to COLLECTIVE</span>
<a name="ln-106"></a>    <span class="k">call </span><span class="n">H5Pset_dxpl_mpio_f</span><span class="p">(</span><span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span> <span class="n">data_xfer_mode</span> <span class="o">=</span> <span class="n">H5FD_MPIO_COLLECTIVE_F</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-107"></a><span class="cp">#endif</span>
<a name="ln-108"></a>    <span class="c">! Create dataset </span>
<a name="ln-109"></a>    <span class="k">call </span><span class="n">H5Dcreate_f</span><span class="p">(</span><span class="n">loc_id</span> <span class="o">=</span> <span class="n">FileID</span><span class="p">,</span>                   <span class="p">&amp;</span>
<a name="ln-110"></a>            <span class="n">name</span>     <span class="o">=</span> <span class="s1">&#39;/Connectivities&#39;</span><span class="p">,</span>               <span class="p">&amp;</span>
<a name="ln-111"></a>            <span class="n">type_id</span>  <span class="o">=</span> <span class="n">H5T_NATIVE_INTEGER</span><span class="p">,</span>              <span class="p">&amp;</span>
<a name="ln-112"></a>            <span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                       <span class="p">&amp;</span>
<a name="ln-113"></a>            <span class="n">dset_id</span>  <span class="o">=</span> <span class="n">dset_id</span><span class="p">,</span>                         <span class="p">&amp;</span> 
<a name="ln-114"></a>            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-115"></a>    <span class="c">! Select hyperslab</span>
<a name="ln-116"></a>    <span class="k">call </span><span class="n">H5Sselect_hyperslab_f</span> <span class="p">(</span><span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                      <span class="p">&amp;</span>
<a name="ln-117"></a>            <span class="n">operator</span> <span class="o">=</span> <span class="n">H5S_SELECT_SET_F</span><span class="p">,</span>                                   <span class="p">&amp;</span>
<a name="ln-118"></a>            <span class="n">start</span>    <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="nb">int</span><span class="p">(</span><span class="n">rank</span><span class="p">,</span> <span class="n">I8P</span><span class="p">)</span><span class="o">*</span><span class="n">size</span><span class="p">(</span><span class="n">topology</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
<a name="ln-119"></a>            <span class="nb">count</span>    <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="n">size</span><span class="p">(</span><span class="n">topology</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span>                <span class="p">&amp;</span>
<a name="ln-120"></a>            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-121"></a>    <span class="c">! Create memspace</span>
<a name="ln-122"></a>    <span class="k">call </span><span class="n">H5Screate_simple_f</span><span class="p">(</span><span class="n">rank</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>                       <span class="p">&amp;</span>
<a name="ln-123"></a>            <span class="n">dims</span>     <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="n">size</span><span class="p">(</span><span class="n">topology</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
<a name="ln-124"></a>            <span class="n">space_id</span> <span class="o">=</span> <span class="n">memspace</span><span class="p">,</span>                            <span class="p">&amp;</span>
<a name="ln-125"></a>            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span> 
<a name="ln-126"></a>    <span class="c">! Write data</span>
<a name="ln-127"></a>    <span class="k">call </span><span class="n">H5Dwrite_f</span><span class="p">(</span><span class="n">dset_id</span> <span class="o">=</span> <span class="n">dset_id</span><span class="p">,</span>                           <span class="p">&amp;</span>
<a name="ln-128"></a>            <span class="n">mem_type_id</span>   <span class="o">=</span> <span class="n">H5T_NATIVE_INTEGER</span><span class="p">,</span>                  <span class="p">&amp;</span>
<a name="ln-129"></a>            <span class="n">buf</span>           <span class="o">=</span> <span class="n">topology</span><span class="p">,</span>                            <span class="p">&amp;</span>
<a name="ln-130"></a>            <span class="n">dims</span>          <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="n">size</span><span class="p">(</span><span class="n">topology</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
<a name="ln-131"></a>            <span class="n">hdferr</span>        <span class="o">=</span> <span class="n">hdferror</span><span class="p">,</span>                            <span class="p">&amp;</span>
<a name="ln-132"></a>            <span class="n">file_space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                           <span class="p">&amp;</span>
<a name="ln-133"></a>            <span class="n">mem_space_id</span>  <span class="o">=</span> <span class="n">memspace</span><span class="p">,</span>                            <span class="p">&amp;</span>
<a name="ln-134"></a>            <span class="n">xfer_prp</span>      <span class="o">=</span> <span class="n">plist_id</span><span class="p">)</span>
<a name="ln-135"></a>    <span class="c">! Close data space, dataset, property list .</span>
<a name="ln-136"></a>    <span class="k">call </span><span class="n">H5Sclose_f</span><span class="p">(</span><span class="n">space_id</span> <span class="o">=</span> <span class="n">memspace</span><span class="p">,</span>  <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span> 
<a name="ln-137"></a>    <span class="k">call </span><span class="n">H5Dclose_f</span><span class="p">(</span><span class="n">dset_id</span>  <span class="o">=</span> <span class="n">dset_id</span><span class="p">,</span>   <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-138"></a>    <span class="k">call </span><span class="n">H5Pclose_f</span><span class="p">(</span><span class="n">prp_id</span>   <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span>  <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-139"></a>    <span class="k">call </span><span class="n">H5Sclose_f</span><span class="p">(</span><span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-140"></a>
<a name="ln-141"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-142"></a>    <span class="c">!&lt; Write R4P HyperSlab</span>
<a name="ln-143"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-144"></a>    <span class="k">call </span><span class="n">H5Screate_simple_f</span><span class="p">(</span><span class="n">rank</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>                                          <span class="p">&amp;</span>
<a name="ln-145"></a>            <span class="n">dims</span>     <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="nb">int</span><span class="p">(</span><span class="n">commsize</span><span class="p">,</span> <span class="n">I8P</span><span class="p">)</span><span class="o">*</span><span class="n">size</span><span class="p">(</span><span class="n">geometry</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
<a name="ln-146"></a>            <span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                                              <span class="p">&amp;</span>
<a name="ln-147"></a>            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-148"></a>    <span class="c">! Create the dataset with default properties.</span>
<a name="ln-149"></a>    <span class="k">call </span><span class="n">H5Pcreate_f</span><span class="p">(</span><span class="n">H5P_DATASET_XFER_F</span><span class="p">,</span> <span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span> <span class="n">hdferr</span><span class="o">=</span><span class="n">hdferror</span><span class="p">)</span> 
<a name="ln-150"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; defined(ENABLE_PARALLEL_HDF5)</span>
<a name="ln-151"></a>    <span class="c">! Set MPIO data transfer mode to COLLECTIVE</span>
<a name="ln-152"></a>    <span class="k">call </span><span class="n">H5Pset_dxpl_mpio_f</span><span class="p">(</span><span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span> <span class="n">data_xfer_mode</span> <span class="o">=</span> <span class="n">H5FD_MPIO_COLLECTIVE_F</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-153"></a><span class="cp">#endif</span>
<a name="ln-154"></a>    <span class="c">! Create dataset </span>
<a name="ln-155"></a>    <span class="k">call </span><span class="n">H5Dcreate_f</span><span class="p">(</span><span class="n">loc_id</span> <span class="o">=</span> <span class="n">FileID</span><span class="p">,</span>                   <span class="p">&amp;</span>
<a name="ln-156"></a>            <span class="n">name</span>     <span class="o">=</span> <span class="s1">&#39;/Coordinates&#39;</span><span class="p">,</span>                  <span class="p">&amp;</span>
<a name="ln-157"></a>            <span class="n">type_id</span>  <span class="o">=</span> <span class="n">H5T_NATIVE_REAL</span><span class="p">,</span>                 <span class="p">&amp;</span>
<a name="ln-158"></a>            <span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                       <span class="p">&amp;</span>
<a name="ln-159"></a>            <span class="n">dset_id</span>  <span class="o">=</span> <span class="n">dset_id</span><span class="p">,</span>                         <span class="p">&amp;</span> 
<a name="ln-160"></a>            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-161"></a>    <span class="c">! Select hyperslab</span>
<a name="ln-162"></a>    <span class="k">call </span><span class="n">H5Sselect_hyperslab_f</span> <span class="p">(</span><span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                      <span class="p">&amp;</span>
<a name="ln-163"></a>            <span class="n">operator</span> <span class="o">=</span> <span class="n">H5S_SELECT_SET_F</span><span class="p">,</span>                                   <span class="p">&amp;</span>
<a name="ln-164"></a>            <span class="n">start</span>    <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="nb">int</span><span class="p">(</span><span class="n">rank</span><span class="p">,</span> <span class="n">I8P</span><span class="p">)</span><span class="o">*</span><span class="n">size</span><span class="p">(</span><span class="n">geometry</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
<a name="ln-165"></a>            <span class="nb">count</span>    <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="n">size</span><span class="p">(</span><span class="n">geometry</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span>                <span class="p">&amp;</span>
<a name="ln-166"></a>            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-167"></a>    <span class="c">! Create memspace</span>
<a name="ln-168"></a>    <span class="k">call </span><span class="n">H5Screate_simple_f</span><span class="p">(</span><span class="n">rank</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>                       <span class="p">&amp;</span>
<a name="ln-169"></a>            <span class="n">dims</span>     <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="n">size</span><span class="p">(</span><span class="n">geometry</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
<a name="ln-170"></a>            <span class="n">space_id</span> <span class="o">=</span> <span class="n">memspace</span><span class="p">,</span>                            <span class="p">&amp;</span>
<a name="ln-171"></a>            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span> 
<a name="ln-172"></a>    <span class="c">! Write data</span>
<a name="ln-173"></a>    <span class="k">call </span><span class="n">H5Dwrite_f</span><span class="p">(</span><span class="n">dset_id</span> <span class="o">=</span> <span class="n">dset_id</span><span class="p">,</span>                           <span class="p">&amp;</span>
<a name="ln-174"></a>            <span class="n">mem_type_id</span>   <span class="o">=</span> <span class="n">H5T_NATIVE_REAL</span><span class="p">,</span>                     <span class="p">&amp;</span>
<a name="ln-175"></a>            <span class="n">buf</span>           <span class="o">=</span> <span class="n">geometry</span><span class="p">,</span>                            <span class="p">&amp;</span>
<a name="ln-176"></a>            <span class="n">dims</span>          <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="n">size</span><span class="p">(</span><span class="n">geometry</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
<a name="ln-177"></a>            <span class="n">hdferr</span>        <span class="o">=</span> <span class="n">hdferror</span><span class="p">,</span>                            <span class="p">&amp;</span>
<a name="ln-178"></a>            <span class="n">file_space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                           <span class="p">&amp;</span>
<a name="ln-179"></a>            <span class="n">mem_space_id</span>  <span class="o">=</span> <span class="n">memspace</span><span class="p">,</span>                            <span class="p">&amp;</span>
<a name="ln-180"></a>            <span class="n">xfer_prp</span>      <span class="o">=</span> <span class="n">plist_id</span><span class="p">)</span>
<a name="ln-181"></a>    <span class="c">! Close data space, dataset, property list .</span>
<a name="ln-182"></a>    <span class="k">call </span><span class="n">H5Sclose_f</span><span class="p">(</span><span class="n">space_id</span> <span class="o">=</span> <span class="n">memspace</span><span class="p">,</span>  <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span> 
<a name="ln-183"></a>    <span class="k">call </span><span class="n">H5Dclose_f</span><span class="p">(</span><span class="n">dset_id</span>  <span class="o">=</span> <span class="n">dset_id</span><span class="p">,</span>   <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-184"></a>    <span class="k">call </span><span class="n">H5Pclose_f</span><span class="p">(</span><span class="n">prp_id</span>   <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span>  <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-185"></a>    <span class="k">call </span><span class="n">H5Sclose_f</span><span class="p">(</span><span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-186"></a>    
<a name="ln-187"></a>    <span class="k">call </span><span class="n">H5Fclose_f</span><span class="p">(</span><span class="n">file_id</span> <span class="o">=</span> <span class="n">FileID</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-188"></a>    <span class="k">call </span><span class="n">H5close_f</span><span class="p">(</span><span class="n">error</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span> 
<a name="ln-189"></a><span class="cp">#else</span>
<a name="ln-190"></a>    <span class="k">if</span><span class="p">(</span><span class="n">rank</span><span class="o">==</span><span class="mi">0</span><span class="p">)</span> <span class="k">write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">&#39;Warning: HDF5 is not enabled. Please enable HDF5 and recompile to write the HeavyData&#39;</span>
<a name="ln-191"></a><span class="cp">#endif</span>
<a name="ln-192"></a>
<a name="ln-193"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
<a name="ln-194"></a>    <span class="k">call </span><span class="n">MPI_FINALIZE</span><span class="p">(</span><span class="n">mpierr</span><span class="p">)</span>
<a name="ln-195"></a><span class="cp">#endif</span>
<a name="ln-196"></a>
<a name="ln-197"></a>    <span class="k">call exit</span><span class="p">(</span> <span class="n">status</span><span class="o">=</span><span class="n">exitcode</span><span class="p">)</span>
<a name="ln-198"></a>
<a name="ln-199"></a>
<a name="ln-200"></a><span class="k">contains</span>
<a name="ln-201"></a>
<a name="ln-202"></a><span class="k">    subroutine </span><span class="n">generate_hexa_mesh</span><span class="p">(</span><span class="n">rank</span><span class="p">,</span> <span class="n">num_elements_per_axis</span><span class="p">,</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">topology</span><span class="p">,</span> <span class="n">number_nodes</span><span class="p">,</span> <span class="n">number_elements</span><span class="p">)</span>
<a name="ln-203"></a>        <span class="kt">integer</span><span class="p">,</span>                   <span class="k">intent</span><span class="p">(</span><span class="n">in</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">rank</span>
<a name="ln-204"></a>        <span class="kt">integer</span><span class="p">,</span>                   <span class="k">intent</span><span class="p">(</span><span class="n">in</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">num_elements_per_axis</span>
<a name="ln-205"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>    <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">inout</span><span class="p">)</span> <span class="kd">::</span> <span class="n">XYZ</span><span class="p">(:)</span>
<a name="ln-206"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">inout</span><span class="p">)</span> <span class="kd">::</span> <span class="n">topology</span><span class="p">(:)</span>
<a name="ln-207"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>              <span class="k">intent</span><span class="p">(</span><span class="n">out</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">number_nodes</span>
<a name="ln-208"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>              <span class="k">intent</span><span class="p">(</span><span class="n">out</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">number_elements</span>
<a name="ln-209"></a>        <span class="kt">integer</span>                                  <span class="kd">::</span> <span class="nb">dim</span> <span class="o">=</span> <span class="mi">3</span>
<a name="ln-210"></a>        <span class="kt">integer</span>                                  <span class="kd">::</span> <span class="n">num_elements_per_surface</span>
<a name="ln-211"></a>        <span class="kt">integer</span>                                  <span class="kd">::</span> <span class="n">num_nodes_per_axis</span>
<a name="ln-212"></a>        <span class="kt">integer</span>                                  <span class="kd">::</span> <span class="n">num_nodes_per_surface</span>
<a name="ln-213"></a>        <span class="kt">integer</span>                                  <span class="kd">::</span> <span class="n">num_nodes_per_element</span> <span class="o">=</span> <span class="mi">8</span> <span class="c">! hexahedron</span>
<a name="ln-214"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>    <span class="k">dimension</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>               <span class="kd">::</span> <span class="n">first_point</span> <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="o">/</span><span class="p">)</span>
<a name="ln-215"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>    <span class="k">dimension</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>               <span class="kd">::</span> <span class="n">last_point</span> <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="o">/</span><span class="p">)</span>
<a name="ln-216"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>    <span class="k">dimension</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>               <span class="kd">::</span> <span class="n">steps</span>
<a name="ln-217"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">dimension</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>               <span class="kd">::</span> <span class="n">first_element_topology</span>
<a name="ln-218"></a>
<a name="ln-219"></a>        <span class="n">num_elements_per_surface</span> <span class="o">=</span> <span class="n">num_elements_per_axis</span><span class="o">**</span><span class="mi">2</span>
<a name="ln-220"></a>        <span class="n">number_elements</span>          <span class="o">=</span> <span class="n">num_elements_per_axis</span><span class="o">**</span><span class="mi">3</span>
<a name="ln-221"></a>        <span class="n">num_nodes_per_axis</span>       <span class="o">=</span> <span class="n">num_elements_per_axis</span><span class="o">+</span><span class="mi">1</span>
<a name="ln-222"></a>        <span class="n">num_nodes_per_surface</span>    <span class="o">=</span> <span class="n">num_nodes_per_axis</span><span class="o">**</span><span class="mi">2</span>
<a name="ln-223"></a>        <span class="n">number_nodes</span>             <span class="o">=</span> <span class="n">num_nodes_per_axis</span><span class="o">**</span><span class="mi">3</span>
<a name="ln-224"></a>        <span class="c">!&lt; Initialize some values depending on the mpi rank</span>
<a name="ln-225"></a>        <span class="n">first_point</span> <span class="o">=</span> <span class="n">first_point</span><span class="o">+</span><span class="n">rank</span>
<a name="ln-226"></a>        <span class="n">last_point</span> <span class="o">=</span> <span class="n">last_point</span><span class="o">+</span><span class="n">rank</span>
<a name="ln-227"></a>        <span class="n">steps</span> <span class="o">=</span> <span class="p">(</span><span class="n">last_point</span><span class="o">-</span><span class="n">first_point</span><span class="p">)</span><span class="o">/</span><span class="kt">real</span><span class="p">(</span><span class="n">num_elements_per_axis</span><span class="p">,</span> <span class="n">R4P</span><span class="p">)</span>
<a name="ln-228"></a>
<a name="ln-229"></a>        <span class="n">first_element_topology</span> <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="mi">0</span><span class="p">,</span>                                          <span class="mi">1</span><span class="p">,</span>                                       <span class="p">&amp;</span>
<a name="ln-230"></a>                                   <span class="n">num_nodes_per_axis</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span>                       <span class="n">num_nodes_per_axis</span><span class="p">,</span>                      <span class="p">&amp;</span>
<a name="ln-231"></a>                                   <span class="n">num_nodes_per_surface</span><span class="p">,</span>                      <span class="n">num_nodes_per_surface</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span>                 <span class="p">&amp;</span>
<a name="ln-232"></a>                                   <span class="n">num_nodes_per_surface</span><span class="o">+</span><span class="n">num_nodes_per_axis</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span> <span class="n">num_nodes_per_surface</span><span class="o">+</span><span class="n">num_nodes_per_axis</span><span class="o">/</span><span class="p">)</span>
<a name="ln-233"></a>
<a name="ln-234"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">XYZ</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">XYZ</span><span class="p">)</span>
<a name="ln-235"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">topology</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">topology</span><span class="p">)</span>
<a name="ln-236"></a>        <span class="k">allocate</span><span class="p">(</span><span class="n">XYZ</span><span class="p">(</span><span class="n">number_nodes</span><span class="o">*</span><span class="mi">3</span><span class="p">))</span>
<a name="ln-237"></a>        <span class="k">allocate</span><span class="p">(</span><span class="n">topology</span><span class="p">(</span><span class="n">number_elements</span><span class="o">*</span><span class="n">num_nodes_per_element</span><span class="p">))</span>
<a name="ln-238"></a>
<a name="ln-239"></a>        <span class="k">do </span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">number_nodes</span><span class="o">-</span><span class="mi">1</span>
<a name="ln-240"></a>            <span class="n">XYZ</span><span class="p">((</span><span class="n">i</span><span class="o">*</span><span class="nb">dim</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="o">=</span> <span class="n">first_point</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">+</span><span class="nb">mod</span><span class="p">(</span><span class="n">i</span><span class="o">/</span><span class="n">num_nodes_per_surface</span><span class="p">,</span><span class="n">num_nodes_per_axis</span><span class="p">)</span><span class="o">*</span><span class="n">steps</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<a name="ln-241"></a>            <span class="n">XYZ</span><span class="p">((</span><span class="n">i</span><span class="o">*</span><span class="nb">dim</span><span class="p">)</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span> <span class="o">=</span> <span class="n">first_point</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">+</span><span class="nb">mod</span><span class="p">(</span><span class="n">i</span><span class="o">/</span><span class="n">num_nodes_per_axis</span><span class="p">,</span><span class="n">num_nodes_per_axis</span><span class="p">)</span><span class="o">*</span><span class="n">steps</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
<a name="ln-242"></a>            <span class="n">XYZ</span><span class="p">((</span><span class="n">i</span><span class="o">*</span><span class="nb">dim</span><span class="p">)</span><span class="o">+</span><span class="mi">3</span><span class="p">)</span> <span class="o">=</span> <span class="n">first_point</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="o">+</span><span class="nb">mod</span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="n">num_nodes_per_axis</span><span class="p">)</span><span class="o">*</span><span class="n">steps</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
<a name="ln-243"></a>        <span class="n">enddo</span>
<a name="ln-244"></a>        <span class="k">do </span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">number_elements</span><span class="o">-</span><span class="mi">1</span>
<a name="ln-245"></a>            <span class="n">topology</span><span class="p">((</span><span class="n">i</span><span class="o">*</span><span class="n">num_nodes_per_element</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span><span class="p">:(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="n">num_nodes_per_element</span><span class="p">)</span> <span class="o">=</span>            <span class="p">&amp;</span>
<a name="ln-246"></a>                    <span class="n">first_element_topology</span><span class="o">+</span>                                                <span class="p">&amp;</span>
<a name="ln-247"></a>                    <span class="nb">mod</span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="n">num_elements_per_axis</span><span class="p">)</span><span class="o">+</span>                                          <span class="p">&amp;</span>
<a name="ln-248"></a>                    <span class="nb">mod</span><span class="p">(</span><span class="n">i</span><span class="o">/</span><span class="n">num_elements_per_axis</span><span class="p">,</span><span class="n">num_elements_per_axis</span><span class="p">)</span><span class="o">*</span><span class="n">num_nodes_per_axis</span><span class="o">+</span> <span class="p">&amp;</span>
<a name="ln-249"></a>                    <span class="nb">mod</span><span class="p">(</span><span class="n">i</span><span class="o">/</span><span class="n">num_elements_per_surface</span><span class="p">,</span> <span class="n">num_elements_per_surface</span><span class="p">)</span><span class="o">*</span><span class="n">num_nodes_per_surface</span>
<a name="ln-250"></a>        <span class="n">enddo</span>
<a name="ln-251"></a>
<a name="ln-252"></a>    <span class="k">end subroutine</span>
<a name="ln-253"></a>
<a name="ln-254"></a><span class="k">end program </span><span class="n">ch_unstructured_hexahedron</span>
</pre></div>

    </section>
    </div>
  </div>

  <section class="visible-xs visible-sm hidden-md">
    <hr>
    

<div class="panel panel-default">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allfiles-1">All Source Files</a></h3></div>
  <div id="allfiles-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../sourcefile/ch_unstructured_hexahedron_perf.f90.html">ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/fox_xdmf.f90.html">fox_xdmf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_contiguous_hyperslab_handler.f90.html">hdf5_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_dataset_per_process_handler.f90.html">hdf5_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_handler.f90.html">hdf5_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_contiguous_hyperslab_handler.f90.html">hdf5_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_dataset_per_process_handler.f90.html">hdf5_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_contiguous_hyperslab_handler.f90.html">hdf5_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_dataset_per_process_handler.f90.html">hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/mpi_environment.f90.html">mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/spatial_grid_descriptor.f90.html">spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler.f90.html">steps_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler_test.f90.html">steps_handler_test.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html">structured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_dataset_per_process_factory.f90.html">structured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_spatial_grid_descriptor.f90.html">structured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_uniform_grid_descriptor.f90.html">structured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_fox_wxml.f90.html">test_FoX_wxml.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90.html">test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_dataset_per_process_handler.f90.html">test_hdf5_rectilinear_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_contiguous_hyperslabs_handler.f90.html">test_hdf5_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_dataset_per_process_handler.f90.html">test_hdf5_regular_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_contiguous_hyperslabs_handler.f90.html">test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_dataset_per_process_handler.f90.html">test_hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_mpi_environment.f90.html">test_mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_attribute.f90.html">test_xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_character_data.f90.html">test_xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_dataitem.f90.html">test_xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_geometry.f90.html">test_xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_grid.f90.html">test_xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90.html">test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_dataset_per_process.f90.html">test_xdmf_rectilinear_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_contiguous_hyperslabs_handler.f90.html">test_xdmf_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_dataset_per_process.f90.html">test_xdmf_regular_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_time.f90.html">test_xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_topology.f90.html">test_xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_contiguous_hyperslabs_handler.f90.html">test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_dataset_per_process.f90.html">test_xdmf_unstructured_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_xinclude.f90.html">test_xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_hdf5_mod.f90.html">try_compile_hdf5_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_mpi_mod.f90.html">try_compile_mpi_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/uniform_grid_descriptor.f90.html">uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_contiguous_hyperslab_factory.f90.html">unstructured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_dataset_per_process_factory.f90.html">unstructured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_spatial_grid_descriptor.f90.html">unstructured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_uniform_grid_descriptor.f90.html">unstructured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_attribute.f90.html">xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_character_data.f90.html">xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_contiguous_hyperslab_handler.f90.html">xdmf_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataitem.f90.html">xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataset_per_process_handler.f90.html">xdmf_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_domain.f90.html">xdmf_domain.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_element.f90.html">xdmf_element.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_file.f90.html">xdmf_file.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_geometry.f90.html">xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_grid.f90.html">xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_handler.f90.html">xdmf_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_information.f90.html">xdmf_information.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_parameters.f90.html">xdmf_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_contiguous_hyperslab_handler.f90.html">xdmf_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_dataset_per_process_handler.f90.html">xdmf_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_time.f90.html">xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_topology.f90.html">xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_contiguous_hyperslab_handler.f90.html">xdmf_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_dataset_per_process_handler.f90.html">xdmf_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_utils.f90.html">xdmf_utils.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_xinclude.f90.html">xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for.f90.html">xh5for.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_abstract_factory.f90.html">xh5for_abstract_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html">xh5for_ch_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html">xh5for_ch_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html">xh5for_ch_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_grid.f90.html">xh5for_ch_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html">xh5for_ch_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html">xh5for_ch_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html">xh5for_ch_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html">xh5for_ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html">xh5for_ch_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html">xh5for_ch_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html">xh5for_ch_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html">xh5for_ch_unstructured_static_mixed_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html">xh5for_ch_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html">xh5for_ch_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html">xh5for_ch_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html">xh5for_dpp_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html">xh5for_dpp_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html">xh5for_dpp_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_grid.f90.html">xh5for_dpp_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html">xh5for_dpp_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html">xh5for_dpp_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html">xh5for_dpp_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html">xh5for_dpp_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html">xh5for_dpp_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html">xh5for_dpp_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html">xh5for_dpp_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html">xh5for_dpp_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html">xh5for_dpp_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_factory.f90.html">xh5for_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_handler.f90.html">xh5for_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_metadata.f90.html">xh5for_metadata.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_parameters.f90.html">xh5for_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_utils.f90.html">xh5for_utils.f90</a>
      
    </div>
  </div>
</div>


  </section>
  
    <hr>    
    </div> <!-- /container -->
    <footer>
      <div class="container">
      <div class="row">
        <div class="col-xs-6 col-md-4"><p>&copy; 2016 </p></div>
        <div class="col-xs-6 col-md-4 col-md-push-4">
          <p class="text-right">
            Documentation generated by 
            <a href="https://github.com/cmacmackin/ford">FORD</a>
             on 2016-11-08T12:24:53.235950 
          </p>
        </div>
        <div class="col-xs-12 col-md-4 col-md-pull-4"><p class="text-center"> XH5For was developed by Víctor Sande Veiga</p></div>
      </div>
      <br>
      </div> <!-- /container -->    
    </footer>

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
<!--
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
-->
    <script src="../js/bootstrap.min.js"></script>
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="../js/ie10-viewport-bug-workaround.js"></script>

    <!-- MathJax JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script type="text/x-mathjax-config">
      MathJax.Hub.Config({
        TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'AMS' } },
        jax: ['input/TeX','input/MathML','output/HTML-CSS'],
        extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js'],
        'HTML-CSS': { 
           styles: { '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {color: '#000000 ! important'} }
        }
      });
    </script>
    <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
    
    
    <script src="../tipuesearch/tipuesearch_content.js"></script>
    <link  href="../tipuesearch/tipuesearch.css" rel="stylesheet">
    <script src="../tipuesearch/tipuesearch_set.js"></script>
    <script src="../tipuesearch/tipuesearch.js"></script>
    
    
  </body>
</html>